# Finnish messages for cpplib.
# Copyright © 2010, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2012-2015.
#
msgid ""
msgstr ""
"Project-Id-Version: cpplib 5.1-b20150208\n"
"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
"POT-Creation-Date: 2015-04-13 20:12+0000\n"
"PO-Revision-Date: 2015-02-10 00:32+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: charset.c:674
#, c-format
msgid "conversion from %s to %s not supported by iconv"
msgstr "iconv ei tue muunnosta kohteesta %s kohteeseen %s"

#: charset.c:677
msgid "iconv_open"
msgstr "iconv_open"

#: charset.c:685
#, c-format
msgid "no iconv implementation, cannot convert from %s to %s"
msgstr "ei iconv-toteutusta, muuntaminen kohteesta %s kohteeseen %s epäonnistui"

#: charset.c:781
#, c-format
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "merkki 0x%lx ei ole peruslähdemerkkien joukossa\n"

#: charset.c:798 charset.c:1452
msgid "converting to execution character set"
msgstr "muunnetaan suoritusmerkkijoukkoon"

#: charset.c:804
#, c-format
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "merkki 0x%lx ei ole yksitavumerkki suoritusmerkkijoukossa"

#: charset.c:998
msgid "universal character names are only valid in C++ and C99"
msgstr "yleispätevät merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"

#: charset.c:1002
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:n yleispätevät merkkinimet eivät ole yhteensopivia C90:n kanssa"

#: charset.c:1005
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "’\\%c’-merkitys on erilainen perinteisessä C:ssä"

#  UCN tarkoittaa Universal Character Names ja se sallii minkä tahansa kirjaimen käyttämisen C-lähdekielessä, ei vain englanninkielen kirjainten käytön. Merkki voidaan ilmaista joko kenoviivalla, sitä seuraavalla pienellä u-kirjaimella ja nelinumeroisella heksadesimaaliluvulla tai kenoviivaa seuraavalla suurella U-kirjaimella ja kahdeksannumeroisella heksadesimaaliluvulla.
#: charset.c:1014
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Kohteessa _cpp_valid_ucn mutta ei UCN"

#: charset.c:1039
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "vaillinainen yleispätevä merkkinimi %.*s"

#: charset.c:1054
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ei ole kelvollinen yleispätevä merkki"

#: charset.c:1064 lex.c:1218
msgid "'$' in identifier or number"
msgstr "’$’ tunnisteessa tai numerossa"

#: charset.c:1074
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "yleispätevä merkki %.*s ei ole kelvollinen tunniste"

#: charset.c:1078
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "yleispätevä merkki %.*s ei ole kelvollien tunnisteen alussa"

#: charset.c:1110 charset.c:1682
msgid "converting UCN to source character set"
msgstr "muunnetaan UCN lähdemerkkijoukoksi"

#: charset.c:1114
msgid "converting UCN to execution character set"
msgstr "muunnetaan UCN suoritusmerkkijoukoksi"

#: charset.c:1186
msgid "the meaning of '\\x' is different in traditional C"
msgstr "merkin ’\\x’ merkitys on erilainen perinteisessä C:ssä"

#: charset.c:1203
msgid "\\x used with no following hex digits"
msgstr "\\x käytetty ilman seuraavia heksadesimaalinumeroita"

#: charset.c:1210
msgid "hex escape sequence out of range"
msgstr "heksadesimaali koodinvaihtosekvenssi lukualueen ulkopuolella"

#: charset.c:1248
msgid "octal escape sequence out of range"
msgstr "oktaaliluku koodinvaihtosekvenssi lukualueen ulkopuolella"

#: charset.c:1314
msgid "the meaning of '\\a' is different in traditional C"
msgstr "merkin ’\\a’ merkitys on erilainen perinteisessä C:ssä"

#: charset.c:1321
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ei-ISO-standardi koodinvaihtosekvenssi ’\\%c’"

#: charset.c:1329
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "tuntematon koodinvaihtosekvenssi ’\\%c’"

#: charset.c:1337
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "tuntematon koodinvaihtosekvenssi ’\\%s’"

#: charset.c:1344
msgid "converting escape sequence to execution character set"
msgstr "muunnetaan koodinvaihtosekvenssi suoritusmerkkijoukoksi"

#: charset.c:1517 charset.c:1581
msgid "character constant too long for its type"
msgstr "merkkivakio on liian pitkä tälle tyypille"

#: charset.c:1520
msgid "multi-character character constant"
msgstr "monimerkkikirjainvakio"

#: charset.c:1620
msgid "empty character constant"
msgstr "tyhjä merkkivakio"

#: charset.c:1729
#, c-format
msgid "failure to convert %s to %s"
msgstr "virhe muuntaa kohde %s kohteeksi %s"

#: directives.c:224 directives.c:267
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "direktiivin #%s lopussa ylimääräisiä merkkejä"

#: directives.c:374
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s on GCC-laajennus"

#: directives.c:379
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s on vanhentunut GCC-laajennus"

#: directives.c:392
msgid "suggest not using #elif in traditional C"
msgstr "ei suositella #elif-käyttöä perinteisessä C:ssä"

#: directives.c:395
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "perinteinen C ohittaa #%s merkillä # sisennettynä"

#: directives.c:399
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "suosittelee piilottamaan #%s perinteisestä C:stä sisennetyllä #-merkillä"

#: directives.c:425
msgid "embedding a directive within macro arguments is not portable"
msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävä"

#: directives.c:445
msgid "style of line directive is a GCC extension"
msgstr "rividirektiivin tyyli on GCC-laajennus"

#: directives.c:500
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "virheellinen esikäsittelijädirektiivi #%s"

#: directives.c:568
msgid "\"defined\" cannot be used as a macro name"
msgstr "”defined” ei voida käyttää makronimenä"

#: directives.c:573
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "”__has_include__” ei voida käyttää makronimenä"

#: directives.c:579
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” ei voida käyttää makronimenä, koska se on operaattori C++:ssa"

#: directives.c:582
#, c-format
msgid "no macro name given in #%s directive"
msgstr "makronimeä ei ole annettu #%s-direktiivissä"

#: directives.c:585
msgid "macro names must be identifiers"
msgstr "makronimien on oltava tunnisteita"

#: directives.c:634 directives.c:639
#, c-format
msgid "undefining \"%s\""
msgstr "määrittelemätön ”%s”"

#: directives.c:694
msgid "missing terminating > character"
msgstr "puuttuva päättymismerkki >"

#: directives.c:753
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s odottaa ”TIEDOSTONIMI” tai <TIEDOSTONIMI>"

#: directives.c:799
#, c-format
msgid "empty filename in #%s"
msgstr "tyhjä tiedostonimi kohteessa #%s"

#: directives.c:809
msgid "#include nested too deeply"
msgstr "#include sisäkkäinen liian syvälle"

#: directives.c:850
msgid "#include_next in primary source file"
msgstr "#include_next ensisijaisessa lähdetiedostossa"

#: directives.c:876
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "virheellinen lippu ”%s” rividirektiivissä"

#: directives.c:936
msgid "unexpected end of file after #line"
msgstr "tiedoston odottamaton loppu #line-direktiivin jälkeen"

#: directives.c:939
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "”%s” direktiivin #line jälkeen ei ole positiivinen kokonaisluku"

#: directives.c:945 directives.c:947
msgid "line number out of range"
msgstr "rivinumero lukualueen ulkopuolella"

#: directives.c:960 directives.c:1040
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” ei ole kelvollinen tiedostonimi"

#: directives.c:1000
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "”%s” merkin # jälkeen ei ole positiivinen kokonaisluku"

#: directives.c:1095 directives.c:1097 directives.c:1099 directives.c:1685
#, c-format
msgid "%s"
msgstr "%s"

#: directives.c:1123
#, c-format
msgid "invalid #%s directive"
msgstr "virheellinen #%s-direktiivi"

#: directives.c:1186
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” täsmäämättömällä nimilaajennuksella"

#: directives.c:1195
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "rekisteröidään pragma ”%s” nimilaajennuksella ja ilman nimiavaruutta"

#: directives.c:1213
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "rekisteröidään ”%s” sekä pragmana ja pragma-nimiavaruutena"

#: directives.c:1216
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s on jo rekisteröity"

#: directives.c:1219
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s on jo rekisteröity"

#: directives.c:1249
msgid "registering pragma with NULL handler"
msgstr "rekisteröidään pragma NULL-käsittelijällä"

#: directives.c:1466
msgid "#pragma once in main file"
msgstr "#pragma once main-tiedostossa"

#: directives.c:1489
msgid "invalid #pragma push_macro directive"
msgstr "virheellinen #pragma push_macro-direktiivi"

#: directives.c:1544
msgid "invalid #pragma pop_macro directive"
msgstr "virheellinen #pragma pop_macro-direktiivi"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: directives.c:1599
msgid "invalid #pragma GCC poison directive"
msgstr "virheellinen #pragma GCC poison-direktiivi"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: directives.c:1608
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "kielletään olemassaoleva makro ”%s”"

#: directives.c:1627
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ohitetaan include-tiedoston ulkopuolella"

#: directives.c:1652
#, c-format
msgid "cannot find source file %s"
msgstr "lähdetiedoston %s löytäminen epäonnistui"

#: directives.c:1656
#, c-format
msgid "current file is older than %s"
msgstr "nykyinen tiedosto on vanhempi kuin %s"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: directives.c:1680
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "virheellinen ”#pragma GCC %s”-direktiivi"

#: directives.c:1874
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma ottaa sulkumerkkeillä ympäröidyn merkkijonoliteraalin"

#: directives.c:1995
msgid "#else without #if"
msgstr "#else ilman #if"

#: directives.c:2000
msgid "#else after #else"
msgstr "#else jälkeen #else"

#: directives.c:2002 directives.c:2035
msgid "the conditional began here"
msgstr "ehdollinen alkoi tässä"

#: directives.c:2028
msgid "#elif without #if"
msgstr "#elif ilman #if"

#: directives.c:2033
msgid "#elif after #else"
msgstr "#elif jälkeen #else"

#: directives.c:2064
msgid "#endif without #if"
msgstr "#endif ilman #if"

#: directives.c:2144
msgid "missing '(' after predicate"
msgstr "merkki ’(’ puuttuu predikaatin jälkeen"

#: directives.c:2159
msgid "missing ')' to complete answer"
msgstr "merkki ’)’ puuttuu täydelliseen vastaukseen"

#: directives.c:2179
msgid "predicate's answer is empty"
msgstr "predikaatin vastaus on tyhjä"

#: directives.c:2206
msgid "assertion without predicate"
msgstr "assertion-toiminto ilman predikaattia"

#: directives.c:2209
msgid "predicate must be an identifier"
msgstr "predikaatin on oltava tunniste"

#: directives.c:2295
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” uudelleen assert-toimintoon"

#: directives.c:2587
#, c-format
msgid "unterminated #%s"
msgstr "päättämätön #%s"

#: directives-only.c:221 lex.c:2433 traditional.c:167
msgid "unterminated comment"
msgstr "päättämätön kommentti"

#: errors.c:231
msgid "stdout"
msgstr "vakiotuloste"

#: errors.c:233
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: expr.c:512 expr.c:629
msgid "fixed-point constants are a GCC extension"
msgstr "kiintopistevakiot ovat GCC-laajennus"

#: expr.c:537
msgid "invalid prefix \"0b\" for floating constant"
msgstr "virheellinen etuliite ”0b” liukulukuvakiolle"

#: expr.c:550
msgid "use of C++11 hexadecimal floating constant"
msgstr "käytä C++11 heksadesimaaliliukulukuvakiota"

#: expr.c:553
msgid "use of C99 hexadecimal floating constant"
msgstr "käytä C99 heksadesimaaliliukulukuvakiota"

#: expr.c:597
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "virheellinen loppuliite ”%.*s” liukulukuvakiossa"

#: expr.c:608 expr.c:668
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "perinteinen C hylkää ”%.*s”-loppuliitteen"

#: expr.c:616
msgid "suffix for double constant is a GCC extension"
msgstr "loppuliite double-vakiolle on GCC-laajennus"

#: expr.c:622
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "virheellinen loppuliite ”%.*s” heksadesimaalisessa liukulukuvakiossa"

#: expr.c:633
msgid "decimal float constants are a GCC extension"
msgstr "desimaaliliukulukuvakiot ovat GCC-laajennus"

#: expr.c:651
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiossa"

#: expr.c:676
msgid "use of C++11 long long integer constant"
msgstr "käytä ”C++11 long long”-kokonaislukuvakiota"

#: expr.c:677
msgid "use of C99 long long integer constant"
msgstr "käytä ”C99 long long”-kokonaislukuvakiota"

#: expr.c:693
msgid "imaginary constants are a GCC extension"
msgstr "imaginaarivakiot ovat GCC-laajennus"

#: expr.c:699
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäärivakiot ovat C++14-ominaisuus tai GCC-laajennus"

#: expr.c:701
msgid "binary constants are a GCC extension"
msgstr "binäärivakiot ovat GCC-laajennus"

#: expr.c:796
msgid "integer constant is too large for its type"
msgstr "kokonaislukuvakio on liian iso sen tyypiksi"

#: expr.c:827
msgid "integer constant is so large that it is unsigned"
msgstr "kokonaislukuvakio on niin iso, että se on etumerkitön"

#: expr.c:922
msgid "missing ')' after \"defined\""
msgstr "merkki ’)’ puuttuu ”defined”-merkkijonon jäljestä"

#: expr.c:929
msgid "operator \"defined\" requires an identifier"
msgstr "operaattori ”defined” vaatii tunnisteen"

#: expr.c:937
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” on vaihtoehtoinen merkkijono ”%s” C++:ssa)"

#: expr.c:947
msgid "this use of \"defined\" may not be portable"
msgstr "tämä ”defined”-käyttö ei ehkä ole siirrettävä"

#: expr.c:1007
msgid "user-defined literal in preprocessor expression"
msgstr "käyttäjämääritelty literaali esikääntäjälausekkeessa"

#: expr.c:1012
msgid "floating constant in preprocessor expression"
msgstr "liukulukuvakio esikäsittelijälausekkeessa"

#: expr.c:1018
msgid "imaginary number in preprocessor expression"
msgstr "imaginaariluku esikääntäjälausekkeessa"

#: expr.c:1070
#, c-format
msgid "\"%s\" is not defined"
msgstr "”%s” ei ole määritelty"

#: expr.c:1083
msgid "assertions are a GCC extension"
msgstr "assertion-toiminnot ovat GCC-laajennus"

#: expr.c:1086
msgid "assertions are a deprecated extension"
msgstr "assertion-toiminnot ovat vanhentunut laajennus"

#: expr.c:1331
#, c-format
msgid "unbalanced stack in %s"
msgstr "tasapainoton pino kohteessa %s"

#: expr.c:1351
#, c-format
msgid "impossible operator '%u'"
msgstr "mahdoton operaattori ’%u’"

#: expr.c:1452
msgid "missing ')' in expression"
msgstr "merkki ’)’ puuttuu lausekkeessa"

#: expr.c:1481
msgid "'?' without following ':'"
msgstr "’?’ ilman seuraavaa ’:’"

#: expr.c:1491
msgid "integer overflow in preprocessor expression"
msgstr "kokonaislukuylivuoto esikääntäjälausekkeessa"

#: expr.c:1496
msgid "missing '(' in expression"
msgstr "merkki ’(’ puuttuu lausekkeessa"

#: expr.c:1528
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "vasen ”%s”-operandi vaihtaa merkkiä, kun korotettiin"

#: expr.c:1533
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "oikea ”%s”-operandi vaihtaa merkkiä, kun korotettiin"

#: expr.c:1792
msgid "traditional C rejects the unary plus operator"
msgstr "perinteinen C hylkää unaariplus-operaattorin"

#: expr.c:1890
msgid "comma operator in operand of #if"
msgstr "pilkkuoperaattori #if-operandissa"

#: expr.c:2026
msgid "division by zero in #if"
msgstr "jako nollalla #if-lauseessa"

#: expr.c:2123
msgid "operator \"__has_include__\" requires a header string"
msgstr "operaattori ”__has_include__” vaatii otsakemerkkijonon"

#: expr.c:2139
msgid "missing ')' after \"__has_include__\""
msgstr "merkki ’)’ puuttuu ”__has_include__”-merkkijonon jäljestä"

#: files.c:513
msgid "NULL directory in find_file"
msgstr "NULL-hakemistto kohteessa find_file"

#: files.c:561
msgid "one or more PCH files were found, but they were invalid"
msgstr "yksi tai useampia PCH-tiedostoja löytyi, mutta ne olivat virheellisiä"

#: files.c:564
msgid "use -Winvalid-pch for more information"
msgstr "käytä lisätietoja varten valitsinta -Winvalid-pch"

#: files.c:668
#, c-format
msgid "%s is a block device"
msgstr "%s on lohkolaite"

#: files.c:685
#, c-format
msgid "%s is too large"
msgstr "%s on liian laaja"

#: files.c:725
#, c-format
msgid "%s is shorter than expected"
msgstr "%s on lyhyempi kuin otaksuttiin"

#: files.c:961
#, c-format
msgid "no include path in which to search for %s"
msgstr "ei include-polkua, jossa etsiä kohdetta %s"

#: files.c:1411
msgid "Multiple include guards may be useful for:\n"
msgstr "Useat include-vartijat saattavat olla hyödyllisiä kohteelle:\n"

#: init.c:546
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t on oltava etumerkitön tyyppi"

#: init.c:550
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "esikääntäjäaritmetiikan maksimitarkkuus on %lu bittiä; kohde vaatii %lu bittiä"

#: init.c:557
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkkaa kuin kohteen int-tyypin"

#: init.c:560
msgid "target char is less than 8 bits wide"
msgstr "kohdemerkki on pienempi kuin 8 bittiä leveä"

#: init.c:564
msgid "target wchar_t is narrower than target char"
msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"

#: init.c:568
msgid "target int is narrower than target char"
msgstr "kohteen kokonaislukutyyppi on kapeampi kuin kohteen char-tyyppi"

#: init.c:573
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"

#: init.c:577
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP tällä tietokoneella ei voi käsitellä wide-merkkivakioita, jotka ovat yli %lu bittiä, mutta kohde vaatii %lu bittiä"

#: lex.c:1011
msgid "backslash and newline separated by space"
msgstr "kenoviiva ja rivinvaihtomerkki eroteltu välilyönnillä"

#: lex.c:1016
msgid "backslash-newline at end of file"
msgstr "kenoviiva-rivinvaihto tiedoston lopussa"

#: lex.c:1032
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph-merkki ??%c muunnettu merkiksi %c"

#: lex.c:1040
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph-merkki ??%c ohitettiin, käytä valitsinta -trigraphs merkkien käyttöönottamiseksi"

#: lex.c:1089
msgid "\"/*\" within comment"
msgstr "”/*” kommentin sisällä"

#: lex.c:1147
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s esikäsittelijädirektiivissä"

#: lex.c:1156
msgid "null character(s) ignored"
msgstr "null-merkkejä ei oteta huomioon"

#  NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#: lex.c:1193
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” ei ole Unicode-normalisointimerkkijonomuodossa NFKC"

#  NFC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#: lex.c:1196
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” ei ole Unicode-normalisointimerkkijonomuodossa NFC"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: lex.c:1265 lex.c:1354
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "yritys käyttää poison-kiellettyä makroa ”%s”"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.c:1275 lex.c:1364
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ voi vain esiintyä C++11 variadic-makrolaajennuksessa"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.c:1279 lex.c:1368
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ voi vain esiintyä C99 variadic-makrolaajennuksessa"

#: lex.c:1286 lex.c:1375
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "tunniste ”%s” on erikoisoperaattorinimi C++:ssa"

#: lex.c:1665
msgid "raw string delimiter longer than 16 characters"
msgstr "raakamerkkijonoerotin pitempi kuin 16 merkkiä"

#: lex.c:1669
msgid "invalid new-line in raw string delimiter"
msgstr "virheellinen rivinvaihtomerkki raakamerkkijonoerottimessa"

#: lex.c:1673
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "virheellinen merkki ’%c’ raakamerkkijonoerottimessa"

#: lex.c:1722 lex.c:1744
msgid "unterminated raw string"
msgstr "päättämätön raakamerkkijono"

#: lex.c:1765 lex.c:1894
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "literaalissa virheellinen loppuliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"

#: lex.c:1876
msgid "null character(s) preserved in literal"
msgstr "null-merkit säilytetään literaaleissa"

#: lex.c:1879
#, c-format
msgid "missing terminating %c character"
msgstr "puuttuva päättymismerkki %c"

#: lex.c:2447 lex.c:2481
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90-standardissa"

#: lex.c:2449 lex.c:2460 lex.c:2483
msgid "(this will be reported only once per input file)"
msgstr "(tästä ilmoitetaan vain kerran per syötetiedosto)"

#: lex.c:2458
msgid "C++ style comments are incompatible with C90"
msgstr "C++-tyyliset kommentit ovat yhteensopimattomia C90:n kanssa"

#: lex.c:2489
msgid "multi-line comment"
msgstr "monirivinen kommentti"

#: lex.c:2833
#, c-format
msgid "unspellable token %s"
msgstr "tavaamaton merkkijono %s"

#: macro.c:200
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makroa ”%s” ei ole käytetty"

#: macro.c:238 macro.c:470
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "virheellinen sisäinen makro ”%s”"

#: macro.c:245 macro.c:342
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "makro ”%s” saattaisi estää toistettavat rakentamiset"

#: macro.c:276
msgid "could not determine file timestamp"
msgstr "ei voitu ottaa selvää tiedoston aikaleimasta"

#: macro.c:377
msgid "could not determine date and time"
msgstr "ei voitu ottaa selvää päivämäärästä ja ajasta"

#: macro.c:393
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ laajennettu direktiivin sisällä valitsimella -fdirectives-only"

#: macro.c:581
msgid "invalid string literal, ignoring final '\\'"
msgstr "virheellinen merkijonoliteraali, ei oteta huomioon lopun ’\\’ merkkejä"

#: macro.c:643
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "liittämällä ”%s” ja ”%s” ei anneta kelvollista esikääntäjämerkkijonoa"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.c:767
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 vaatii vähintään yhden argumentin kohteelle ”...” variadic-makrossa"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.c:771
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 vaatii vähintään yhden argumentin kohteelle ”...” variadic-makrossa"

#: macro.c:778
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu"

#: macro.c:783
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makrolle ”%s” välitetty %u argumenttia, mutta se ottaa vain %u"

#: macro.c:977 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "päättämätön argumenttiluettelo kutsuttaessa makroa ”%s”"

#: macro.c:1128
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenteilla perinteisessä C:ssä"

#: macro.c:1814
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "kutsutaan makron %s argumenttia %d: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa"

#: macro.c:1822 macro.c:1831
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "kutsutaan makron %s argumenttia %d: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä"

#: macro.c:2800
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "kaksoiskappale makroparametri ”%s”"

#: macro.c:2849
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "”%s” ei ehkä ilmene makroparametriluettelossa"

#: macro.c:2857
msgid "macro parameters must be comma-separated"
msgstr "makroparametrien on oltava pilkulla eroteltuja"

#: macro.c:2875
msgid "parameter name missing"
msgstr "parametrinimi puuttuu"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.c:2896
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyymit variadic-makrot esiteltiin C++11:ssä"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.c:2900 macro.c:2905
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyymit variadic-makrot esiteltiin C99:ssä"

#  Variadic-makro on sellainen makro, joka hyväksyy vaihtelevan määrän argumentteja.
#: macro.c:2912
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ei salli nimettyjä variadic-makroja"

#  Variadic-makro on sellainen makro, joka hyväksyy vaihtelevan määrän argumentteja.
#: macro.c:2915
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ei salli nimettyjä variadic-makroja"

#: macro.c:2925
msgid "missing ')' in macro parameter list"
msgstr "puuttuu ’)’ makroparametriluettelosta"

#: macro.c:2976
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "’##’ ei voi esiintyä makrolaajennuksen kummassakaan päässä"

#: macro.c:3013
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vaatii tyhjemerkin makronimen jälkeen"

#: macro.c:3016
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vaatii tyhjemerkin makronimen jälkeen"

#: macro.c:3041
msgid "missing whitespace after the macro name"
msgstr "puuttuu tyhjemerkki makronimen jälkeen"

#: macro.c:3075
msgid "'#' is not followed by a macro parameter"
msgstr "’#’-merkkiä seuraa makroparametri"

#: macro.c:3236
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” on määritelty uudelleen"

#: macro.c:3241
msgid "this is the location of the previous definition"
msgstr "tämä on edellisen määrittelyn sijainti"

#: macro.c:3302
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makroargumentti ”%s” muunnettaisiin merkkijonoksi perinteisessä C:ssä"

#: macro.c:3329
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "virheellinen hash-tyyppi %d kohteessa cpp_macro_definition"

#: pch.c:87 pch.c:345 pch.c:359 pch.c:377 pch.c:383 pch.c:392 pch.c:399
msgid "while writing precompiled header"
msgstr "kirjoitettaessa esikäännettyjä otsaketiedostoja"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: pch.c:619
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ei käytetä, koska ”%.*s” on poison-kielletty"

#: pch.c:641
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ei käytetä, koska ”%.*s” ei ole määritelty"

#: pch.c:653
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: ei käytetä, koska ”%.*s” on määritelty nimellä ”%s” ei nimellä ”%.*s”"

#: pch.c:694
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ei käytetä, koska ”%s” on määritelty"

#: pch.c:714
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ei käytetty, koska ”__COUNTER__” on virheellinen"

#: pch.c:723 pch.c:900
msgid "while reading precompiled header"
msgstr "luettaessa esikäännettyjä otsaketiedostoja"

#: traditional.c:889
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "havaittu rekursio laajennettaessa makroa ”%s”"

#: traditional.c:1108
msgid "syntax error in macro parameter list"
msgstr "syntaksivirhe makroparameteriluettelossa"

#  NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Merkki %x ei saattaisi olla Unicode-normalisointimerkkijonomuotoa NFKC"

#~ msgid "too many decimal points in number"
#~ msgstr "liian monta desimaalipistettä numerossa"

#~ msgid "invalid digit \"%c\" in binary constant"
#~ msgstr "virheellinen numero ”%c” binäärivakiossa"

#~ msgid "invalid digit \"%c\" in octal constant"
#~ msgstr "virheellinen numero ”%c” oktaalivakiossa"

#~ msgid "no digits in hexadecimal floating constant"
#~ msgstr "ei lukuja heksadesimaalisessa liukulukuvakiossa"

#~ msgid "exponent has no digits"
#~ msgstr "eksponentilla ei ole numeoita"

#~ msgid "hexadecimal floating constants require an exponent"
#~ msgstr "heksadesimaalinen liukulukuvakio vaatii eksponentin"

#~ msgid "missing binary operator before token \"%s\""
#~ msgstr "puuttua binäärioperaattori ennen merkkijonoa ”%s”"

#~ msgid "token \"%s\" is not valid in preprocessor expressions"
#~ msgstr "merkkijono ”%s” ei ole kelvollinen esikäsittelijälausekkeissa"

#~ msgid "missing expression between '(' and ')'"
#~ msgstr "puuttuva lauseke merkkien ’(’ ja ’)’ välillä"

#~ msgid "%s with no expression"
#~ msgstr "%s ilman lauseketta"

#~ msgid "operator '%s' has no right operand"
#~ msgstr "operaattorilla ’%s’ ei ole oikeaa operandia"

#~ msgid "operator '%s' has no left operand"
#~ msgstr "operaattorilla ’%s’ ei ole vasenta operandia"

#~ msgid " ':' without preceding '?'"
#~ msgstr " ’:’ ilman edeltävää ’?’"
